class UnsignedChar:
    def __init__(self, value):
        self.value = value & 0xFF
 
    def __repr__(self):
        return f"UnsignedChar({self.value})"
 
    def __int__(self):
        return self.value
 
    def __eq__(self, other):
        if isinstance(other, UnsignedChar):
            return self.value == other.value
        elif isinstance(other, int):
            return self.value == other & 0xFF
        else:
            return False
 
    def __ne__(self, other):
        return not self.__eq__(other)
 
    def __lt__(self, other):
        if isinstance(other, UnsignedChar):
            return self.value < other.value
        elif isinstance(other, int):
            return self.value < other & 0xFF
        else:
            raise TypeError("UnsignedChar can only be compared with UnsignedChar or int")
 
    def __le__(self, other):
        if isinstance(other, UnsignedChar):
            return self.value <= other.value
        elif isinstance(other, int):
            return self.value <= other & 0xFF
        else:
            raise TypeError("UnsignedChar can only be compared with UnsignedChar or int")
 
    def __gt__(self, other):
        if isinstance(other, UnsignedChar):
            return self.value > other.value
        elif isinstance(other, int):
            return self.value > other & 0xFF
        else:
            raise TypeError("UnsignedChar can only be compared with UnsignedChar or int")
 
    def __ge__(self, other):
        if isinstance(other, UnsignedChar):
            return self.value >= other.value
        elif isinstance(other, int):
            return self.value >= other & 0xFF
        else:
            raise TypeError("UnsignedChar can only be compared with UnsignedChar or int")